package collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * @author DBX
 * @effect 迭代器
 *          Collection提供了统一的遍历模式：迭代器模式
 *          方法：Iterator iterator();
 *          该方法会获取一个用于遍历当前集合元素的迭代器实现类
 *          使用迭代器遍历集合遵循的步骤为：问，取，删。其中删除元素不是必要操作
 * @date 2021/09/03/10:16
 */
public class IteratorDemo {
    public static void main(String[] args) {
        Collection c = new ArrayList();
        c.add("1");
        c.add("#");
        c.add("3");
        c.add("#");
        c.add("2");
        c.add("#");
        c.add("5");

        System.out.println(c);
        Iterator t = c.iterator();
        while (t.hasNext()){
            Object s = t.next();
            System.out.print(s+" ");
            if ("#".equals(s)){
//                c.remove();会抛出异常
//                只能使用迭代器提供的方法删除本次被next取出来的元素
                t.remove();
            }
        }
        System.out.println(c);
    }
}
